package object;

/**
 * 测试常用Object中的定义方法
 * toString与equals
 */
public class Test {
    public static void main(String[] args) {
        Point p=new Point(1,2);
                /*
                Object中的第一个常用被使用的方法为:
                String toString()
                该方法的作用是将当前对象转换为一个字符串
                Object默认实现返回的字符串格式:
                包名.类名@地址信息

                开发中我们经常使用System.out.println(Object o)方法将一个对象输出到
            控制台，而该方法就是调用传入的对象的toString方法现将其转换为一个字符串后
            再输出到控制台。因此如果输出的对象没有重写toString方法，则输出的就是地址
            信息，对于开发中的帮助不大。
                 */
        System.out.println(p);//默认输出:包名.类名@地址信息
        /*
        在进行AFC连接操作时,也会将非String类型的对象先调用toString方法
        将返回的字符串进行链接
         */
        String line="这个对象内容为:"+p;
        System.out.println(line);
        /*
        Point是引用类型,因此p和p2变量保存的对象的地址.由于p和p2指向两个
        不同的对象,所以地址不相同
         */

        Point p2=new Point(1,2);
        System.out.println(p==p2);//false


        /*
        Object提供了方法:
        boolean equals(Object o)
        用来比较两个对象的内容是否相同,若当前对象与参数o对象的内容相同时返回true
        注意:该方法若使用就应该被派生类重写,因为Opject中的实现就是用"=="比较的,
            不重写则并非真正比较内容
         */
        boolean equals=p.equals(p2);
        System.out.println(equals);









    }
}
